package com.jyw.system.service.impl;

import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jyw.system.domain.SysOrderAutoDispatch;
import com.jyw.system.domain.dto.SysOrderAutoDispatchAddDto;
import com.jyw.system.domain.dto.SysOrderAutoDispatchEditDto;
import com.jyw.system.domain.dto.SysOrderAutoDispatchQueryDto;
import com.jyw.system.domain.vo.SysOrderAutoDispatchVo;
import com.jyw.system.mapper.SysOrderAutoDispatchMapper;
import com.jyw.system.service.ISysOrderAutoDispatchService;
import com.jyw.system.utils.ConversionUtil;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * 系统工单自动派单Service业务层处理
 *
 * @author zhangcheng
 * @date 2024-01-12
 */
@Service
public class SysOrderAutoDispatchServiceImpl extends ServiceImpl<SysOrderAutoDispatchMapper, SysOrderAutoDispatch> implements ISysOrderAutoDispatchService {
    @Resource
    private SysOrderAutoDispatchMapper sysOrderAutoDispatchMapper;


    @Override
    public List<SysOrderAutoDispatchVo> queryFaultTypeList(SysOrderAutoDispatchQueryDto queryDto) {
        List<SysOrderAutoDispatchVo> list = sysOrderAutoDispatchMapper.queryFaultTypeList(queryDto);
        return ConversionUtil.conversionList(list, SysOrderAutoDispatchVo.class);
    }

    @Override
    public List<SysOrderAutoDispatchVo> queryRepairDepartList(SysOrderAutoDispatchQueryDto queryDto) {
        List<SysOrderAutoDispatchVo> list = sysOrderAutoDispatchMapper.queryRepairDepartList(queryDto);
        return ConversionUtil.conversionList(list, SysOrderAutoDispatchVo.class);
    }

    @Override
    public void add(SysOrderAutoDispatchAddDto addDto) {
        SysOrderAutoDispatch autoDispatch = BeanUtil.copyProperties(addDto, SysOrderAutoDispatch.class);
        this.save(autoDispatch);
    }

    @Override
    public void edit(SysOrderAutoDispatchEditDto editDto) {
        SysOrderAutoDispatch sysOrderAutoDispatch = this.getById(editDto.getId());
        if (sysOrderAutoDispatch != null) {
            BeanUtil.copyProperties(editDto, sysOrderAutoDispatch);
            this.updateById(sysOrderAutoDispatch);
        }
    }
}
